热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

面经||【字节跳动】客户端岗朝夕光年游戏开发

一面(110min)你没有看错,就是那么长自我介绍面向对象的三大特性,并且解释一下虚函数内联,友联函数C++内存管理,分为几个区,分别是干什么的手撕代码:实现一个单

attachments-2022-01-6Wquuxtq61e4d67584b6b.png

一面(110min) 你没有看错,就是那么长

自我介绍

  1. 面向对象的三大特性,并且解释一下
  2. 虚函数
  3. 内联,友联函数
  4. C++ 内存管理,分为几个区,分别是干什么的
  5. 手撕代码:实现一个单例的类
  6. 说说几个stl里面的容器,他们的底层原理
  7. TCP/UDP的区别
  8. C#深拷贝浅拷贝
  9. Unity优化
  10. 手撕代码:实现math lib里的sqrt。 (开始写了个暴力的,后面用了二分搜索优化)
  11. 项目问题
  12. 反问(问了为什么项目问题比较少,面试官说从简历上看找不到切入点0.0我解释了我项目的技术(都是游戏demo), 说了自己会图形学,面试官说二面来问你)

总结

第一次面试,人有点紧张,有些问题没回答好,不过面试官很好,十分有耐心,也给了一些提示,最后磕磕绊绊都做出来了。一面结束后一天后告诉我面试通过,进入二面。

二面(60min)


  1. 自我介绍
  2. 项目经历的问题(这次占了时间的大头)
  3. Unity渲染管线
  4. Unity顶点坐标变换,光照计算的原理
  5. 光照模型
  6. 深度测试
  7. 切线空间
  8. UV与模型
  9. 透明度与alpha混合
  10. LOD和遮罩剔除
  11. 四元数
  12. Prefab
  13. 说几个常见的排序算法
  14. 智能指针
  15. 手撕代码:正则表达式匹配
  16. 反问

总结:这次面试发挥的比较好,问题都回答出来了,上次告诉一面自己也会图形学,这次果然问了很多,面试官也很好。二面结束后3个小时告诉我面试通过,安排三面+HR面的时间。

三面(40min)

自我感觉是个压力面,面试官的问题明显深很多,还一直追问,问到大脑空白。

  1. C++ 11的新特性
  2. 智能指针
  3. C++ STL deque和list的区别
  4. 说说你知道的设计模式
  5. 观察者模式的底层实现原理
  6. 观察者模式的应用场景
  7. list的底层实现,怎么在观察者里面实现O(1)的删除?(因为我提到了list操作的时间复杂度,想了很久,说了很多,最后我还是没回答出来)
  8. 堆排序的底层实现
  9. 喜欢玩什么游戏?(说了FPS)
  10. 多人FPS游戏里游戏数据的位置(同步模式)
  11. 状态同步里的网络延迟
  12. 网络延迟的解决办法(延迟补偿机制)
  13. 反问(问了面评,面试官说我基础很好,但是有些深入的东西还要学习,问了HR面的信息)

总结: 三面的面试难度明显要比前两面要高很多,问的东西都很深,不仅要了解到知识本身,还要理解他的应用。三面结束后半个小时后通知HR面。

HR面(40min)轻松加愉快,气氛很好

HR面总体来说面试的很愉快,因为我是计算机科学:游戏设计专业(对口专业),问了我很多学校的事情,也问了我问什么选择这个专业。问了问我的项目经历,小组合作开发游戏时候遇到的困难,我的解决方式。也问了我对未来的想法。后面就是正常的HR信息收集。最后问了问评价,HR对我挺满意的。

HR面后两天接到OC,我的面试进度很神速,从一面到OC只用了8天的时间,我上岸了,希望大家也能继续加油,找到自己心仪的offer~


推荐阅读
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文介绍了Java的集合及其实现类,包括数据结构、抽象类和具体实现类的关系,详细介绍了List接口及其实现类ArrayList的基本操作和特点。文章通过提供相关参考文档和链接,帮助读者更好地理解和使用Java的集合类。 ... [详细]
  • HTML5网页模板怎么加百度统计?
    本文介绍了如何在HTML5网页模板中加入百度统计,并对模板文件、css样式表、js插件库等内容进行了说明。同时还解答了关于HTML5网页模板的使用方法、表单提交、域名和空间的问题,并介绍了如何使用Visual Studio 2010创建HTML5模板。此外,还提到了使用Jquery编写美好的HTML5前端框架模板的方法,以及制作企业HTML5网站模板和支持HTML5的CMS。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • macOS Big Sur全新设计大版本更新,10+个值得关注的新功能
    本文介绍了Apple发布的新一代操作系统macOS Big Sur,该系统采用全新的界面设计,包括图标、应用界面、程序坞和菜单栏等方面的变化。新系统还增加了通知中心、桌面小组件、强化的Safari浏览器以及隐私保护等多项功能。文章指出,macOS Big Sur的设计与iPadOS越来越接近,结合了去年iPadOS对鼠标的完善等功能。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • PHP图片截取方法及应用实例
    本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。 ... [详细]
  • 本文介绍了PhysioNet网站提供的生理信号处理工具箱WFDB Toolbox for Matlab的安装和使用方法。通过下载并添加到Matlab路径中或直接在Matlab中输入相关内容,即可完成安装。该工具箱提供了一系列函数,可以方便地处理生理信号数据。详细的安装和使用方法可以参考本文内容。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 摘要: 在测试数据中,生成中文姓名是一个常见的需求。本文介绍了使用C#编写的随机生成中文姓名的方法,并分享了相关代码。作者欢迎读者提出意见和建议。 ... [详细]
  • 本文介绍了在处理不规则数据时如何使用Python自动提取文本中的时间日期,包括使用dateutil.parser模块统一日期字符串格式和使用datefinder模块提取日期。同时,还介绍了一段使用正则表达式的代码,可以支持中文日期和一些特殊的时间识别,例如'2012年12月12日'、'3小时前'、'在2012/12/13哈哈'等。 ... [详细]
author-avatar
icanfly2502872173_635
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有